package cn.demoncat.util.lang.entity.data;

/**
 * 链表节点
 * 
 * @author 延晓磊
 *
 * @since 2020年6月27日
 */
public class LinkedNode<E> {

	/**
	 * 数据
	 */
	protected E data;
	/**
	 * 下一个节点
	 */
	protected LinkedNode<E> next;
	/**
	 * 上一个节点（双向链表）
	 */
	protected LinkedNode<E> pre;

	/**
	 * 创建节点
	 * 
	 * @param data	数据
	 * @param next	下一个节点
	 * 
	 * @author 延晓磊
	 *
	 * @since 2020年7月16日
	 */
	public LinkedNode(E data, LinkedNode<E> next) {
		super();
		this.data = data;
		this.next = next;
	}
	
	/**
	 * 创建节点
	 * 
	 * @param data	数据
	 * @param next	下一个节点
	 * @param pre	上一个节点
	 * 
	 * @author 延晓磊
	 *
	 * @since 2020年7月16日
	 */
	public LinkedNode(E data, LinkedNode<E> next, LinkedNode<E> pre) {
		super();
		this.data = data;
		this.next = next;
		this.pre = pre;
	}

	/**
	 * 数据
	 */
	public E getData() {
		return data;
	}

	/**
	 * 数据
	 */
	public void setData(E data) {
		this.data = data;
	}

	/**
	 * 下一个节点
	 */
	public LinkedNode<E> getNext() {
		return next;
	}

	/**
	 * 下一个节点
	 */
	public void setNext(LinkedNode<E> next) {
		this.next = next;
	}

	/**
	 * 上一个节点（双向链表）
	 */
	public LinkedNode<E> getPre() {
		return pre;
	}

	/**
	 * 上一个节点（双向链表）
	 */
	public void setPre(LinkedNode<E> pre) {
		this.pre = pre;
	}
}